﻿using PARK.Accessctl.Entitys;
using PARK.BussinCache.Entitys.Dto;
using PARK.BussinCache.Entitys.Entity;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace PARK.BussinCache.Interfaces
{
    /// <summary>
    /// 平台基础数据缓存
    /// </summary>
    public interface IParkCacheRepository
    {
        /// <summary>
        /// 获取指定企业应用信息
        /// </summary>
        /// <param name="CompanyId"></param>
        /// <returns></returns>
        uniubiAppInfo GetCacheUniubiAppInfo(string CompanyId);
        /// <summary>
        /// 保存企业应用信息到缓存
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        bool SetUniubiAppInfoCache(uniubiAppInfo input);

        #region 宇泛门禁人脸识别事件处理
        /// <summary>
        /// 加入待处理队列
        /// </summary>
        /// <param name="Input"></param>
        /// <returns></returns>
        Task<long> SetEvt101004queue(UniEvt101004Entity Input);
        /// <summary>
        /// 获取待解析事件
        /// </summary>
        /// <returns></returns>
        string GetEvt101004queueList();
        #endregion

        #region 宇泛设备权限处理
        /// <summary>
        /// 加入待处理队列
        /// </summary>
        /// <param name="Input"></param>
        /// <returns></returns>
        Task<long> SetAccAuthqueue(List<AccessCtlauthTaskEntity> Input);
        /// <summary>
        /// 获取待处理设备权限事件
        /// </summary>
        /// <returns></returns>
        string GetAccAuthqueueList();
        #endregion
    }
}
